3.2 对话框
tkinter中共提供了三种标准对话框
messagebox
filedialog
colorchooser
messagebox
消息对话框
from tkinter import *
from tkinter import messagebox
root = Tk()
# 设置窗口标题
root.title("主窗口")
# parent指定依托的父窗口,若不指定,默认为根窗口
result = messagebox.askokcancel("标题", "这是内容", parent=root)
print(result)
messagebox.askquestion("标题", "这是question窗口")
messagebox.askretrycancel("标题", "这是retry cancel窗口")
messagebox.showerror("标题", "这是error窗口")
messagebox.showinfo("标题", "这是info窗口")
messagebox.showwarning("标题", "这是warning窗口")
root.mainloop()
filedialog
文件对话框
from tkinter import *
from tkinter import filedialog
def onclick():
file_name = filedialog.askopenfilename(
title="打开我的文件", initialdir="D:\\",
filetypes=[("PNG", ".png"), ("文本文档", ".txt")])
print(file_name)
def save_file():
file_name = filedialog.asksaveasfilename(
title="保存文件", initialdir="D:\\")
print(file_name)
root = Tk()
Button(root, text="浏览", command=onclick).pack()
Button(root, text="保存", command=save_file).pack()
root.mainloop()
除上述对话框外,还有一个选择文件夹对话框,这个在tkinter文档中没有写,但是通过查看源码可以找到
from tkinter import *
from tkinter import filedialog
def onclick():
# 选择文件夹对话框
file_name = filedialog.askdirectory(initialdir="D:\\")
print(file_name)
root = Tk()
Button(root, text="浏览", command=onclick).pack()
root.mainloop()
参数说明:
title
设置文件对话框的标题
initialdir
设置默认打开的路径
filetypes
文件类型筛选。它的值是一个列表,列表中的元素必须是一个二元元组。元组的第一个元素是类型名称,第二个是类型后缀名。
colorchooser
颜色选择对话框
from tkinter import *
from tkinter import colorchooser
def onclick():
file_name = colorchooser.askcolor()
# 返回值是一个元组,第一个元素是RGB色值元组,第二个是对应的16进制色值
print(file_name)
root = Tk()
Button(root, text="选色", command=onclick).pack()
root.mainloop()